************
INTRODUCTION
************

This file describes how to generate the Python wrapper code for Melissa DATA's Address Object.


*************
PREREQUISITES
*************

To make use of the AddressObject Python wrapper you will need:

* An installation of a Python. This Wrapper tested with Python 2.3.4

* The Melissa DATA AddressObject library and data files installed.
	Library = libmdAddr.so
	Data Files = mdAddr.dat, mdAddr.nat, mdAddr.str, mdAddr.lic

  These files are installed automatically if you run setup.sh. 

You will need to know the location of these items in order to install and run the Python wrapper.


*************
Installation
*************

Copy the entire folder that contains this README.txt into a local directory on your computer.


*****
Setup
*****

Open BuildWrapper.sh in a text editor.
Put in the paths to the Address Object library (libmdAddr.so) and the Python include directory. 
	mdAddrPath='Path To Your Address Object Library'
	PythonIncludePath='Path To Your Python Include Directory'

*******************
Running the Script
*******************

Execute BuildWrapper.sh (sh BuildWrapper.sh). This should successfully create a file named _mdAddrPythonWrapper.so.


************
Dependencies
************

You will need to allow _mdAddrPythonWrapper.so to find libmdAddr.so. You can do this by:

	1. Set LD_LIBRARY_PATH to the directory containing libmdAddr.so. 
		ex: export LD_LIBRARY_PATH=/DQT/Current

	or

	2. Copy libmdAddr.so into the directory with _mdAddrPythonWrapper.so.


***********
Sample Code
***********

The 'Samples' folder (found two folder levels up) copntains some sample programs that show off the basic functionality of the Address object and also can be used as reference on how to interface with the object.

*******
Updates
*******

The wrapper does not need to be rebuilt for every update. Simply replace Address Object (libmdAddr.so) and the data files. However, if there is a new method added, you will need to rebuild the wrapper to use that new method.

****
Note
****

Here are some general solutions if you run into problems:

Q. I get an error saying "libmdAddr.so: shared object cannot be opened ."
A. This means that _mdAddrPythonWrapper.so cannot link to libmdAddr.so. Please following one of the steps in the Setup section above.

Q. I get a warning saying "_POSIX_C_SOURCE" has been redefined.
A. This warning does not affect the functionality of the wrapper. However, to
remove this warning, go into mdAddrPythonWrapper.cpp and move
#include<Python.h> from the middle of the file (line 147) to the very top. 

COPYRIGHT NOTICE

(C) 2014 Melissa Data Corporation. All rights reserved.
